    <!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<meta name="author" content="nodejh">
		<meta name="description" content="Describe your website">
		<meta name="generator" content="Hugo 0.16" />
		<title>How to Install Tomcat on Ubuntu &middot; nodejh</title>
		<link rel="shortcut icon" href="http://nodejh.com/images/favicon.ico">
		<link rel="stylesheet" href="http://nodejh.com/css/style.css">
		
		<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/styles/atom-one-light.min.css">
		

		
		<link rel="stylesheet" href="http://nodejh.com/fontawesome/css/font-awesome.min.css">
		

		
		<link href="http://nodejh.com/index.xml" rel="alternate" type="application/rss+xml" title="nodejh" />
		
	</head>

    <body>
       <nav class="main-nav">
	
	
		<a href='http://nodejh.com/'> <span class="arrow">←</span>Home</a>
	

	
		<a href='http://nodejh.com/post'>Archive</a>
	

	
		<a href='http://nodejh.com/about'>About</a>
	

	
	<a class="cta" href="http://nodejh.com/index.xml">Subscribe</a>
	
</nav>


        <section id="wrapper">
            <article class="post">
                <header>
                    <h1>How to Install Tomcat on Ubuntu</h1>
                    <h2 class="headline">
                    Mar 12, 2016 15:41
                    · 274 words
                    · 2 minutes read
                      <span class="tags">
                      
                      
                          
                              <a href="http://nodejh.com/tags/ubuntu">Ubuntu</a>
                          
                              <a href="http://nodejh.com/tags/java">Java</a>
                          
                              <a href="http://nodejh.com/tags/jsp">JSP</a>
                          
                              <a href="http://nodejh.com/tags/tomcat">Tomcat</a>
                          
                      
                      
                      </span>
                    </h2>
                </header>
                <section id="post-body">
                    

<h3 id="1-安装-java">1. 安装 JAVA</h3>

<p>在安装 Tomcat 之前，必须得先安装 JDK 或 JRE。
JRE 是JAVA 程序运行的基础，它提供了 JVM 等 JAVA 运行环境。而 JDK 是给开发JAVA程序的人员提供了包括JRE在内的基本环境以及一些开发工具，例如 JAVAC。
Tomcat 是使用 JAVA 进行 Web 开发的应用服务器（Application Server）软件。当从网络上有请求到达 Tomcat 服务器时，它会根据请求的地址来调用你写的 JAVA 程序模块。</p>

<p>简单来说，假设 <code>http://xxx.com</code> 是一个 Java 写的网站，那么当在浏览器输入网址并敲下回车后，Tomcat 会得到一个希望访问 <code>/</code>（根目录资源）的请求。然后它去配置文件里查根目录对应的模块是什么。假设查到的模块是 <code>root</code> 这个类，那么它会去调用 <code>root.doGet()</code> 方法。而你写一个 Servlet 的时候，必须实现 <code>doGet()</code>方法，此时你的方法被调用，那么你写的代码就运行了。</p>

<p>当然，实际情况会比这个更复杂。</p>

<p>如果还没有安装 JAVA 开发环境，可参考：<a href="http://nodejh.com/post/how-to-install-java-on-ubuntu/">Ubuntu下JAVA开发环境的配置</a></p>

<h3 id="2-创建-tomcat-用户">2. 创建 <code>tomcat</code> 用户</h3>

<p>为了安全考虑，Tomcat 需要以普通用户的权限来运行。所以我们将创建一个用户和用户组，来运行 Tomcat 服务。</p>

<p>首先，创建一个 <code>tomcat</code> 用户组：</p>

<pre><code>sudo groupadd tomcat
</code></pre>

<p>然后我们再创建一个 <code>tomcat</code> 用户，该用户有如下条件：</p>

<ul>
<li><code>tomcat</code> 用户属于 <code>tomcat</code> 用户组；</li>
<li><code>tomcat</code> 用户主目录为 <code>/opt/tomcat</code>，这个目录也是我们将用来安装 tomcat 的目录（当然也可以是你喜欢的其他目录）；</li>
<li><code>tomcat</code> 不能登录</li>
</ul>

<p>所创建 <code>tomcat</code> 用户的命令如下：</p>

<pre><code>sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
</code></pre>

<h3 id="3-安装-tomcat">3. 安装 Tomcat</h3>

<h4 id="下载-tomcat-二进制文件">下载 Tomcat 二进制文件</h4>

<p>首先下载 Tomcat。目前 Tomcat 的最新版本是 9.0.0.M3。可以在 <a href="http://tomcat.apache.org">http://tomcat.apache.org</a> 找到最新版本的 Tomcat，然后拷贝其二进制链接地址，在终端使用 <code>wget</code> 命令进行下载：</p>

<pre><code>cd ~
wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M3/bin/apache-tomcat-9.0.0.M3.tar.gz
</code></pre>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-1.png" alt="how-to-install-tomcat-on-ubuntu-1" /></p>

<p>然后我们需要将 Tomcat 安装到 <code>/opt/tomcat</code> 目录下面。</p>

<p>接下来创建安装目录，并将下载的二进制包解压到该目录。</p>

<pre><code>sudo mkdir /opt/tomcat
sudo tar zxvf apache-tomcat-9.0.0.M3.tar.gz -C /opt/tomcat --strip-components=1
</code></pre>

<h4 id="设置-tomcat-用户权限">设置 Tomcat 用户权限</h4>

<p>用户 <code>tomcat</code> 需要有合适的权限来运行 Tomcat 服务，所以接下来需要设置用户权限。</p>

<p>首先进入到 Tomcat 的安装目录：</p>

<pre><code>cd /opt/tomcat
</code></pre>

<p>然后设置 <code>tomcat</code> 用户对 <code>conf</code> 目录的写权限，以及对其子目录的读权限：</p>

<pre><code>sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
</code></pre>

<p>接下来需要设置 <code>tomcat</code> 用户对 <code>work/</code>、<code>temp/</code> 、<code>logs/</code> 这几个目录的所有权：</p>

<pre><code>sudo chown -R tomcat work/ temp/ logs/
</code></pre>

<p>完整命令如下图：</p>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-2.png" alt="how-to-install-tomcat-on-ubuntu-2" /></p>

<h4 id="设置环境变量">设置环境变量</h4>

<p>Tomcat 运行的时候依赖于 JDK 或 JRE。所以还需要为 Tomcat 指定 JDK 或 JRE 的路径。按理说只要有 JRE 就够了，但要使用 Tomcat 的更多功能，如 debug，还需要 JDK。所以建议设置 JDK 的路径。</p>

<p>设置环境变量的方法是在 <code>bin/</code> 目录下新建一个 <code>setenv.sh</code> 目录，然后将 <code>JAVA_HOME=/opt/java</code> 写入到该文件：</p>

<pre><code>sudo vim bin/setenv.sh
</code></pre>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-3.png" alt="how-to-install-tomcat-on-ubuntu-3" /></p>

<p>环境变量设置完毕后就可以通过 <code>catalina.sh</code> 命令来启动 Tomcat 了。因为现在是在 <code>/opt/tomcat</code> 目录下，所以可以使用如图所示的命令来启动 Tomcat：</p>

<pre><code>sudo bin/catalina.sh start
</code></pre>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-4.png" alt="how-to-install-tomcat-on-ubuntu-4.png" /></p>

<p>如果你是在别的目录下，也可以通过 <code>sudo /opt/tomcat/bin/catalina.sh start</code> 命令来启动 Tomcat 服务。</p>

<p>一切正常的话，就会提示 Tomcat 启动成功，那么 Tomcat。然后在浏览器中输入 <code>localhost:8080</code> 就可以看到 Tomcat 的主界面：</p>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-5.png" alt="how-to-install-tomcat-on-ubuntu-5.png" /></p>

<h3 id="4-配置-web-管理员接口">4. 配置 Web 管理员接口</h3>

<p>Tomcat 提供了一个图形用户界面的管理后台，来方便我们管理使用 Tomcat 的 Web 应用。在 Tomcat 主页点击右上角的 <code>Server Status</code> 按钮，会弹出一个登录框，输入用户名和密码就可登录。但 Tomcat 安装后是没有默认的管理员帐户的，需要我们自己去配置。</p>

<p>如果登录的时候密码错误，就会出现一个 <code>401 Unauthorized</code> 的错误页面，这个页面上有提示信息，告诉我们应该怎么去配置管理员帐户：</p>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-6.png" alt="how-to-install-tomcat-on-ubuntu-6.png" /></p>

<p>接下来就来配置管理员帐户。Tomcat 后台管理员配置文件是 <code>/opt/tomcat/conf/tomcat-users.xml</code>，所以我们要编辑该文件：</p>

<pre><code>sudo vim /opt/tomcat/conf/tomcat-users.xml
</code></pre>

<p>然后在最后一行的前面加上如下两行，username 和 password 可自行设置：</p>

<pre><code>&lt;role rolename=&quot;manager-gui&quot; /&gt;
&lt;user username=&quot;admin&quot; password=&quot;password&quot; roles=&quot;manager-gui&quot;/&gt;
</code></pre>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-7.png" alt="how-to-install-tomcat-on-ubuntu-7.png" /></p>

<p>编辑完了后保存，然后再重新启动 Tomcat 服务：</p>

<pre><code>sudo /opt/tomcat/bin/catalina.sh stop
sudo /opt/tomcat/bin/catalina.sh start
</code></pre>

<p>重启后，再点击 <code>Server Status</code> 按钮，输入刚设置的用户名和密码就可以登录到后台：</p>

<p><img src="http://oh1ywjyqf.bkt.clouddn.com/blog/2016-11-22-how-to-install-tomcat-on-ubuntu-8.png" alt="how-to-install-tomcat-on-ubuntu-8.png" /></p>

<p>至此，Tomcat 就安装成功！</p>

                </section>
            </article>

            <div id="disqus_thread"></div>
<div style="margin-top: 50px">
  评论: 请点击 Gtihub Issue 链接跳转到评论页面
</div>
</div>


            <footer id="footer">
    
        <div id="social">

	
	
    <a class="symbol" href="https://www.facebook.com/nodejh">
        <i class="fa fa-facebook-square"></i>
    </a>
    
    <a class="symbol" href="https://www.github.com/nodejh">
        <i class="fa fa-github"></i>
    </a>
    
    <a class="symbol" href="http://stackoverflow.com/users/4518882/nodejh">
        <i class="fa fa-stack-overflow"></i>
    </a>
    
    <a class="symbol" href="https://www.twitter.com/nodejh">
        <i class="fa fa-twitter"></i>
    </a>
    


</div>

    
    <p class="small">
    
        © Copyright 2016 <i class="fa fa-heart" aria-hidden="true"></i> nodejh
    
    </p>
</footer>

        </section>

        <script   src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI="   crossorigin="anonymous"></script>
<script src="http://nodejh.com/js/main.js"></script>

<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>




<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-84989670-1', 'auto');
ga('send', 'pageview');
</script>


    </body>
</html>
